/**
 * Copyright (c) 2025 Bytedance Ltd. and/or its affiliates
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *     http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 **/

.products-container {
  padding: 1rem 0;
}

.products-container h1 {
  text-align: center;
  margin-bottom: 2rem;
  color: #333;
}

.product-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 2rem;
  padding: 0 1rem;
}

.product-card {
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  transition: transform 0.3s, box-shadow 0.3s;
  background-color: white;
}

.product-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
}

.product-image {
  width: 100%;
  height: 200px;
  object-fit: cover;
  border-bottom: 1px solid #eee;
}

.product-name {
  font-weight: bold;
  padding: 1rem 1rem 0.5rem;
  font-size: 1.1rem;
  color: #333;
}

.product-price {
  padding: 0 1rem 1rem;
  font-size: 1.2rem;
  color: #e74c3c;
  font-weight: bold;
}

.products-loading, 
.products-error,
.no-products {
  text-align: center;
  padding: 2rem;
  font-size: 1.2rem;
  color: #666;
}

.products-error {
  color: #e74c3c;
}